---
title: Create and validate a Coverage B task
summary: Instantiate and validate a new Coverage B task.
status: draft
owner: SAIF Documentation
last_reviewed: 2026-08-21
library: SAIF.Business.Tasks.Claim
reference_type: embedded
operation_id: OP-13
trigger: Caller requests a new Coverage B task
---

# Create and validate a Coverage B task

Creates a Coverage B task, resolves and validates its claim, and applies the Coverage-B-specific due-date window.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-13 |
| **Trigger** | Caller requests a new Coverage B task |
| **Inputs** | `IDataPortalInfo`, `ClaimID`, optional create user |
| **Outputs** | New, validated `clsCoverageBTask` |
| **Primary components** | `clsCoverageBTask.NewTask`, `clsCoverageBTask.Create`, `clsCoverageBTask.OverrideRules` |
| **Entry point** | `SAIF.Business.Tasks.Claim/clsCoverageBTask.vb` |

## Steps

1. `clsCoverageBTask.NewTask(dpi, claimId[, createUser])` → `CreateObject` → `Create()` sets `ClaimID` and loads claim data; the constructor has already set `TaskDateModifier = NextWorkDay` so the base date logic rolls non-working due dates forward ([BR-CB-05](../business-rules.md#br-cb-05-coverage-b-due-date-rolls-to-next-working-day)).
2. On `ClaimNum` assignment, `clsClaimData.GetData` resolves the claim and `CheckRules("ClaimNum")` runs [BR-CB-01](../business-rules.md#br-cb-01-coverage-b-task-must-reference-a-valid-coverage-b-claim) (valid claim **and** coverage code `B`).
   - On failure: fails at LevelOne with "Error: Please enter a valid claim number." or "Error: Claim number is not a Coverage B Claim."
3. `OverrideRules` intercepts base rule `TASK2` and re-evaluates the due-date window as today .. today + 1 year ([BR-CB-03](../business-rules.md#br-cb-03-coverage-b-due-date-window-is-one-year)).
4. `PostFill` calls `GetClaimData()` for every loaded row — Coverage B has no bulk extra-fields procedure.

## Process flow

```mermaid
flowchart TD
	Start([NewTask called]) --> S1["CreateObject: set ClaimID,<br>load claim data"]
	S1 --> S2["ClaimNum assignment resolves<br>claim"]
	S2 --> S3{"Valid claim and coverage<br>code B?"}
	S3 -->|No| Err([Validation failure])
	S3 -->|Yes| S4["OverrideRules re-evaluates<br>due-date window"]
	S4 --> EndOk([Validated Coverage B task])
```

## Failure and edge-case behavior
- Non-Coverage-B claim or invalid claim number fails [BR-CB-01](../business-rules.md#br-cb-01-coverage-b-task-must-reference-a-valid-coverage-b-claim).
- Due date outside today..+1 year fails [BR-CB-03](../business-rules.md#br-cb-03-coverage-b-due-date-window-is-one-year).

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

## Sources
- SAIF.Business.Tasks.Claim/clsCoverageBTask.vb
